	.file	"_rv_sincos.c"
	.option nopic
	.attribute arch, "rv64i2p0_m2p0_a2p0_f2p0_d2p0_c2p0_v1p0_zvamo1p0_zvlsseg1p0"
	.attribute unaligned_access, 0
	.attribute stack_align, 16
	.text
	.section	.rodata
	.align	3
.LC0:
	.string	"@(
	.section	.sdata,"aw"
	.align	3
	.type	sccsid, @object
	.size	sccsid, 8
sccsid:
	.dword	.LC0
	.section	.rodata
	.align	3
	.type	table_data_sin1, @object
	.size	table_data_sin1, 1032
table_data_sin1:
	.dword	0
	.dword	4578227681973159812
	.dword	4582730748936808062
	.dword	4585465300892538317
	.dword	4587232218149935124
	.dword	4588998070480937184
	.dword	4589965306122607094
	.dword	4590846768565625881
	.dword	4591727299969791020
	.dword	4592606767730311893
	.dword	4593485039402578702
	.dword	4594016801320007031
	.dword	4594454542771183930
	.dword	4594891488091520602
	.dword	4595327571478659014
	.dword	4595762727260045105
	.dword	4596196889902818827
	.dword	4596629994023683153
	.dword	4597061974398750563
	.dword	4597492765973365521
	.dword	4597922303871901467
	.dword	4598262871476403630
	.dword	4598476289818621559
	.dword	4598688984595225406
	.dword	4598900923775164166
	.dword	4599112075441176914
	.dword	4599322407794599425
	.dword	4599531889160152938
	.dword	4599740487990714333
	.dword	4599948172872067014
	.dword	4600154912527631775
	.dword	4600360675823176935
	.dword	4600565431771507043
	.dword	4600769149537129431
	.dword	4600971798440897930
	.dword	4601173347964633034
	.dword	4601373767755717824
	.dword	4601573027631668967
	.dword	4601771097584682078
	.dword	4601967947786150793
	.dword	4602163548591158843
	.dword	4602357870542944470
	.dword	4602550884377336506
	.dword	4602710690099904183
	.dword	4602805845399633902
	.dword	4602900303344142735
	.dword	4602994049708411683
	.dword	4603087070374583113
	.dword	4603179351334086856
	.dword	4603270878689749849
	.dword	4603361638657888991
	.dword	4603451617570386922
	.dword	4603540801876750389
	.dword	4603629178146150899
	.dword	4603716733069447353
	.dword	4603803453461190356
	.dword	4603889326261607894
	.dword	4603974338538572089
	.dword	4604058477489546729
	.dword	4604141730443515286
	.dword	4604224084862889120
	.dword	4604305528345395596
	.dword	4604386048625945823
	.dword	4604465633578481725
	.dword	4604544271217802189
	.dword	4604621949701367983
	.dword	4604698657331085206
	.dword	4604774382555066977
	.dword	4604849113969373103
	.dword	4604922840319727473
	.dword	4604995550503212910
	.dword	4605067233569943231
	.dword	4605137878724712257
	.dword	4605207475328619533
	.dword	4605276012900672507
	.dword	4605343481119364930
	.dword	4605409869824231233
	.dword	4605475169017376660
	.dword	4605539368864982914
	.dword	4605602459698789090
	.dword	4605664432017547683
	.dword	4605725276488455441
	.dword	4605784983948558848
	.dword	4605843545406134034
	.dword	4605900952042040894
	.dword	4605957195211051218
	.dword	4606012266443150634
	.dword	4606066157444814153
	.dword	4606118860100255153
	.dword	4606170366472647579
	.dword	4606220668805321205
	.dword	4606269759522929756
	.dword	4606317631232591731
	.dword	4606364276725003740
	.dword	4606409688975526202
	.dword	4606453861145241227
	.dword	4606496786581982534
	.dword	4606538458821337243
	.dword	4606578871587619388
	.dword	4606618018794815019
	.dword	4606655894547498725
	.dword	4606692493141721470
	.dword	4606727809065869586
	.dword	4606761837001494797
	.dword	4606794571824115162
	.dword	4606826008603986804
	.dword	4606856142606846307
	.dword	4606884969294623682
	.dword	4606912484326125783
	.dword	4606938683557690074
	.dword	4606963563043808649
	.dword	4606987119037722413
	.dword	4607009347991985328
	.dword	4607030246558998647
	.dword	4607049811591515049
	.dword	4607068040143112603
	.dword	4607084929468638487
	.dword	4607100477024622401
	.dword	4607114680469659603
	.dword	4607127537664763515
	.dword	4607139046673687846
	.dword	4607149205763218185
	.dword	4607158013403433018
	.dword	4607165468267934125
	.dword	4607171569234046334
	.dword	4607176315382986589
	.dword	4607179706000002317
	.dword	4607181740574479067
	.dword	4607182418800017408
	.align	3
	.type	table_data_sin2, @object
	.size	table_data_sin2, 1032
table_data_sin2:
	.dword	0
	.dword	4580160821035794432
	.dword	4582412620849479680
	.dword	4584664420663164928
	.dword	4586916220476850176
	.dword	4589168020290535424
	.dword	4589730970243956736
	.dword	4590856870150799360
	.dword	4591982770057641984
	.dword	4592545720011063296
	.dword	4593671619917905920
	.dword	4593953094894616576
	.dword	4594516044848037888
	.dword	4594797519824748544
	.dword	4595360469778169856
	.dword	4595641944754880512
	.dword	4596204894708301824
	.dword	4596767844661723136
	.dword	4597049319638433792
	.dword	4597612269591855104
	.dword	4597893744568565760
	.dword	4598315957033631744
	.dword	4598456694521987072
	.dword	4598738169498697728
	.dword	4598878906987053056
	.dword	4599160381963763712
	.dword	4599301119452119040
	.dword	4599582594428829696
	.dword	4599723331917185024
	.dword	4600004806893895680
	.dword	4600145544382251008
	.dword	4600427019358961664
	.dword	4600567756847316992
	.dword	4600708494335672320
	.dword	4600989969312382976
	.dword	4601130706800738304
	.dword	4601412181777448960
	.dword	4601552919265804288
	.dword	4601834394242514944
	.dword	4601975131730870272
	.dword	4602115869219225600
	.dword	4602397344195936256
	.dword	4602538081684291584
	.dword	4602678819172646912
	.dword	4602819556661002240
	.dword	4602889925405179904
	.dword	4602960294149357568
	.dword	4603101031637712896
	.dword	4603171400381890560
	.dword	4603241769126068224
	.dword	4603382506614423552
	.dword	4603452875358601216
	.dword	4603523244102778880
	.dword	4603663981591134208
	.dword	4603734350335311872
	.dword	4603804719079489536
	.dword	4603875087823667200
	.dword	4603945456567844864
	.dword	4604086194056200192
	.dword	4604156562800377856
	.dword	4604226931544555520
	.dword	4604297300288733184
	.dword	4604367669032910848
	.dword	4604438037777088512
	.dword	4604578775265443840
	.dword	4604649144009621504
	.dword	4604719512753799168
	.dword	4604789881497976832
	.dword	4604860250242154496
	.dword	4604930618986332160
	.dword	4605000987730509824
	.dword	4605071356474687488
	.dword	4605141725218865152
	.dword	4605212093963042816
	.dword	4605282462707220480
	.dword	4605352831451398144
	.dword	4605423200195575808
	.dword	4605493568939753472
	.dword	4605563937683931136
	.dword	4605634306428108800
	.dword	4605634306428108800
	.dword	4605704675172286464
	.dword	4605775043916464128
	.dword	4605845412660641792
	.dword	4605915781404819456
	.dword	4605986150148997120
	.dword	4605986150148997120
	.dword	4606056518893174784
	.dword	4606056518893174784
	.dword	4606197256381530112
	.dword	4606197256381530112
	.dword	4606337993869885440
	.dword	4606337993869885440
	.dword	4606337993869885440
	.dword	4606478731358240768
	.dword	4606478731358240768
	.dword	4606478731358240768
	.dword	4606478731358240768
	.dword	4606619468846596096
	.dword	4606619468846596096
	.dword	4606619468846596096
	.dword	4606760206334951424
	.dword	4606760206334951424
	.dword	4606760206334951424
	.dword	4606760206334951424
	.dword	4606760206334951424
	.dword	4606900943823306752
	.dword	4606900943823306752
	.dword	4606900943823306752
	.dword	4606900943823306752
	.dword	4606900943823306752
	.dword	4606900943823306752
	.dword	4606900943823306752
	.dword	4606900943823306752
	.dword	4607182418800017408
	.dword	4607182418800017408
	.dword	4607182418800017408
	.dword	4607182418800017408
	.dword	4607182418800017408
	.dword	4607182418800017408
	.dword	4607182418800017408
	.dword	4607182418800017408
	.dword	4607182418800017408
	.dword	4607182418800017408
	.dword	4607182418800017408
	.dword	4607182418800017408
	.dword	4607182418800017408
	.dword	4607182418800017408
	.dword	4607182418800017408
	.align	3
	.type	table_data_sin3, @object
	.size	table_data_sin3, 1032
table_data_sin3:
	.dword	0
	.dword	4335145163472203165
	.dword	-4901291458270985936
	.dword	4334300084048575168
	.dword	-4888355317352064368
	.dword	-4890097842119327746
	.dword	-4879192212472108244
	.dword	-4877609353152074598
	.dword	-4882421958459861368
	.dword	-4889515435735385311
	.dword	4344327690608371053
	.dword	-4871448649967911686
	.dword	4346307894776041952
	.dword	-4876688514565408847
	.dword	4351939588216707782
	.dword	4350993937160215343
	.dword	-4872211889599312510
	.dword	-4870509930327538515
	.dword	-4892332772463339211
	.dword	4352548248161945517
	.dword	-4871718392637316412
	.dword	-4898769819921972276
	.dword	4357273055303019162
	.dword	-4870888376601718370
	.dword	-4866752316540952275
	.dword	-4867323570598518686
	.dword	4355202375338304792
	.dword	4351112148285991000
	.dword	-4891193140619446752
	.dword	4346269594972209441
	.dword	-4867182722767500195
	.dword	4330672776990157017
	.dword	-4870875072005036528
	.dword	4352311438545180081
	.dword	4352406338174442411
	.dword	-4864627498305598217
	.dword	4352081851827306883
	.dword	-4866117773365784058
	.dword	4347808786954813327
	.dword	4356477191370573173
	.dword	4349929172638656577
	.dword	-4864502259939090714
	.dword	-4885583024605399368
	.dword	-4867465176875387252
	.dword	-4860973886322818964
	.dword	-4861402873643210318
	.dword	-4859680610896321295
	.dword	-4861654546138200715
	.dword	4362622295802340864
	.dword	-4862858791969452110
	.dword	-4862240029869377780
	.dword	-4877036099717370298
	.dword	-4868676219153462673
	.dword	-4863328274113603609
	.dword	4358989821794142564
	.dword	4360444409054777441
	.dword	4352737192456341171
	.dword	-4863185140937811052
	.dword	4351535605575758631
	.dword	-4865555644581019049
	.dword	-4861821475202794574
	.dword	4359600895655920426
	.dword	-4867738416600634825
	.dword	4362929642948386339
	.dword	-4860548157077822378
	.dword	-4860021698431409554
	.dword	4359718562510508380
	.dword	4356616700595275407
	.dword	-4868121577715201321
	.dword	-4861133489265456873
	.dword	-4866433924875013003
	.dword	-4863084146412526387
	.dword	-4863107076662938771
	.dword	-4870960027386055951
	.dword	4360562070901546763
	.dword	-4863513241193519522
	.dword	-4863026806549044108
	.dword	4358110035633784258
	.dword	-4868064938563866251
	.dword	-4864291043934958320
	.dword	4339770405871344328
	.dword	-4862621243502844600
	.dword	-4861311604218659634
	.dword	-4859746043290344301
	.dword	-4860572985770218143
	.dword	4361712385783190454
	.dword	-4861594397706522614
	.dword	4349093503986182470
	.dword	-4866455294542312185
	.dword	4354284620230295387
	.dword	-4876558961751071229
	.dword	4359017564461397675
	.dword	-4873322044228675410
	.dword	-4877114884757646582
	.dword	-4862498559673345294
	.dword	-4864296195948200619
	.dword	4356203385198942914
	.dword	-4865331359760608160
	.dword	4361802449352162739
	.dword	-4862457225135631001
	.dword	-4863864750815943385
	.dword	4362447865955764354
	.dword	-4872495300658038956
	.dword	-4864719934700429814
	.dword	4361561081263683614
	.dword	4358477889572598391
	.dword	4359065283000114370
	.dword	4361227209919067983
	.dword	4356437120746473865
	.dword	-4863310662714157909
	.dword	-4864596027902037274
	.dword	-4865877705442874363
	.dword	4356496066182782931
	.dword	4361823314591816028
	.dword	4357991673877232822
	.dword	-4859899802321316293
	.dword	-4861740625917946081
	.dword	4355473062038588424
	.dword	4360025976301464814
	.dword	-4866740351294157815
	.dword	-4861497301299359289
	.dword	4353331448211212366
	.dword	4351921915922120245
	.dword	4359513631676320670
	.dword	-4869420631354725867
	.dword	-4861437001734137514
	.dword	-4863547516591348533
	.dword	4361135509685124365
	.dword	0
	.align	3
	.type	table_trig, @object
	.size	table_trig, 256
table_trig:
	.dword	0
	.dword	0
	.dword	11468322278445317
	.dword	5368020095383457079
	.dword	8085888385887965412
	.dword	1188831936269233905
	.dword	6371970167992259444
	.dword	-5187704441804786588
	.dword	-8701086993659180439
	.dword	-3478431970125697327
	.dword	2394339522019923935
	.dword	-8048385028001835826
	.dword	9018213165308018250
	.dword	1065099276058067302
	.dword	287047045600412315
	.dword	5177817544904012482
	.dword	7913899385982261242
	.dword	-8404480040066418308
	.dword	6831751514875401380
	.dword	-5000404232905956521
	.dword	4761853794973589210
	.dword	-1514278272976372467
	.dword	-8688999608927929978
	.dword	-4460421387663366118
	.dword	1162913823868542153
	.dword	-3728556606817657622
	.dword	3627711755131755217
	.dword	-1079050979313763838
	.dword	5377533736397235591
	.dword	3005989822563468865
	.dword	5740259670209060748
	.dword	-428773562000208737
	.align	3
	.type	sign, @object
	.size	sign, 40
sign:
	.dword	4607182418800017408
	.dword	4607182418800017408
	.dword	-4616189618054758400
	.dword	-4616189618054758400
	.dword	4607182418800017408
	.section	.srodata,"a"
	.align	3
	.type	m2bypi, @object
	.size	m2bypi, 8
m2bypi:
	.dword	4603909380684499075
	.align	3
	.type	piby2h, @object
	.size	piby2h, 8
piby2h:
	.dword	4609753056924401664
	.align	3
	.type	piby2m, @object
	.size	piby2m, 8
piby2m:
	.dword	4454258360618844160
	.align	3
	.type	piby2mm, @object
	.size	piby2mm, 8
piby2mm:
	.dword	4454258360616903473
	.align	3
	.type	piby2l, @object
	.size	piby2l, 8
piby2l:
	.dword	-4909595607062048270
	.align	3
	.type	piby4h, @object
	.size	piby4h, 8
piby4h:
	.dword	4605249457359945728
	.align	3
	.type	piby4l, @object
	.size	piby4l, 8
piby4l:
	.dword	-4738386491765736646
	.align	3
	.type	k1, @object
	.size	k1, 8
k1:
	.dword	4895412794951729152
	.align	3
	.type	k2, @object
	.size	k2, 8
k2:
	.dword	4318952042648305664
	.align	3
	.type	Nanq, @object
	.size	Nanq, 8
Nanq:
	.dword	-2251799813685248
	.align	3
	.type	big, @object
	.size	big, 8
big:
	.dword	4812096201845374976
	.section	.rodata
	.align	3
	.type	table_sin, @object
	.size	table_sin, 32
table_sin:
	.dword	-4600427008238148034
	.dword	-4597049325438204734
	.dword	-4637206426200980640
	.dword	-4647414570522036229
	.text
	.align	1
	.globl	_rv_sincos
	.type	_rv_sincos, @function
_rv_sincos:
	addi	sp,sp,-832
	sd	s0,824(sp)
	addi	s0,sp,832
	fsd	fa0,-808(s0)
	sd	a0,-816(s0)
	sd	a1,-824(s0)
	li	a5,-1
	srli	a3,a5,1
	li	a5,2047
	slli	a6,a5,52
	li	a5,8192
	addi	a5,a5,-221
	slli	a7,a5,49
	li	a5,341
	slli	t1,a5,49
	addi	a5,s0,-808
	ld	a5,0(a5)
	and	t2,a5,a3
	and	t3,t2,a6
	sub	a4,t2,a7
	bgeu	a4,t1,.L2
	lui	a5,%hi(.LC1)
	fld	fa4,%lo(.LC1)(a5)
	fmul.d	fa5,fa4,fa0
	lui	a5,%hi(.LC2)
	fld	fa4,%lo(.LC2)(a5)
	fadd.d	fa4,fa4,fa5
	fsd	fa4,-776(s0)
	lui	a5,%hi(.LC2)
	fld	fa5,%lo(.LC2)(a5)
	fsub.d	fa1,fa4,fa5
	addi	a5,s0,-776
	ld	a1,0(a5)
	lui	a5,%hi(.LC3)
	fld	fa5,%lo(.LC3)(a5)
	fmul.d	fa2,fa1,fa5
	lui	a5,%hi(.LC4)
	fld	fa5,%lo(.LC4)(a5)
	fmul.d	fa3,fa1,fa5
	lui	a5,%hi(.LC5)
	fld	fa5,%lo(.LC5)(a5)
	fmul.d	fa6,fa1,fa5
	lui	a5,%hi(.LC6)
	fld	fa5,%lo(.LC6)(a5)
	fmul.d	fa7,fa1,fa5
	andi	a2,a1,127
	li	a4,128
	sub	a3,a4,a2
	srli	a1,a1,7
	andi	a6,a1,3
	andi	a7,a1,1
	sd	a5,-448(s0)
	sd	a2,-760(s0)
	sd	a3,-752(s0)
	sd	a3,-744(s0)
	sd	a2,-736(s0)
	slli	a5,a7,4
	addi	a4,s0,-16
	add	a5,a4,a5
	ld	a3,-744(a5)
	slli	a5,a7,4
	addi	a4,s0,-16
	add	a5,a4,a5
	ld	a2,-736(a5)
	lui	a5,%hi(sign)
	addi	a4,a5,%lo(sign)
	slli	a5,a6,3
	add	a5,a4,a5
	fld	ft1,0(a5)
	addi	a5,a6,1
	lui	a4,%hi(sign)
	addi	a4,a4,%lo(sign)
	slli	a5,a5,3
	add	a5,a4,a5
	fld	ft2,0(a5)
	lui	a5,%hi(table_data_sin1)
	addi	a4,a5,%lo(table_data_sin1)
	slli	a5,a3,3
	add	a5,a4,a5
	fld	fa5,0(a5)
	fmul.d	ft3,ft1,fa5
	lui	a5,%hi(table_data_sin2)
	addi	a4,a5,%lo(table_data_sin2)
	slli	a5,a3,3
	add	a5,a4,a5
	fld	fa5,0(a5)
	fmul.d	ft4,ft1,fa5
	lui	a5,%hi(table_data_sin3)
	addi	a4,a5,%lo(table_data_sin3)
	slli	a5,a3,3
	add	a5,a4,a5
	fld	fa5,0(a5)
	fmul.d	ft5,ft1,fa5
	lui	a5,%hi(table_data_sin1)
	addi	a4,a5,%lo(table_data_sin1)
	slli	a5,a2,3
	add	a5,a4,a5
	fld	fa5,0(a5)
	fmul.d	ft6,ft2,fa5
	lui	a5,%hi(table_data_sin2)
	addi	a4,a5,%lo(table_data_sin2)
	slli	a5,a2,3
	add	a5,a4,a5
	fld	fa5,0(a5)
	fmul.d	ft7,ft2,fa5
	lui	a5,%hi(table_data_sin3)
	addi	a4,a5,%lo(table_data_sin3)
	slli	a5,a2,3
	add	a5,a4,a5
	fld	fa5,0(a5)
	fmul.d	ft8,ft2,fa5
	fsub.d	ft9,fa0,fa3
	fsub.d	fa2,fa0,fa2
	fsub.d	ft9,fa0,ft9
	fsub.d	fa1,fa2,fa7
	fsub.d	ft10,fa2,ft9
	fmul.d	ft11,fa1,fa1
	fsub.d	ft9,fa3,ft9
	fmul.d	fs0,ft10,ft6
	fmul.d	fs5,ft10,ft3
	fsub.d	fs1,ft6,ft7
	lui	a5,%hi(.LC7)
	fld	fa5,%lo(.LC7)(a5)
	fmul.d	fs2,ft6,fa5
	fsub.d	fs3,ft3,ft4
	lui	a5,%hi(.LC7)
	fld	fa5,%lo(.LC7)(a5)
	fmul.d	fs4,ft3,fa5
	fadd.d	fs0,fs0,ft3
	fsub.d	fs5,ft6,fs5
	lui	a5,%hi(.LC8)
	fld	fa5,%lo(.LC8)(a5)
	fmul.d	fs6,ft3,fa5
	fmul.d	fs2,fs2,fa1
	fsub.d	fs7,ft3,fs0
	fmul.d	fs1,fs1,ft10
	fadd.d	ft9,ft9,fa6
	fmul.d	fs3,fs3,ft10
	fsub.d	fa3,ft6,fs5
	lui	a5,%hi(.LC8)
	fld	fa5,%lo(.LC8)(a5)
	fmul.d	fs8,ft6,fa5
	lui	a5,%hi(.LC9)
	fld	fa5,%lo(.LC9)(a5)
	fadd.d	fs9,ft11,fa5
	fmul.d	fs10,fa1,ft8
	lui	a5,%hi(.LC10)
	fld	fa5,%lo(.LC10)(a5)
	fadd.d	fs11,ft11,fa5
	fmul.d	fs4,fs4,fa1
	fmul.d	fa2,ft10,ft7
	fmul.d	ft10,ft10,ft4
	fmul.d	fa1,fa1,ft5
	fadd.d	fs10,fs10,ft5
	fmul.d	fs6,fs6,ft11
	fmul.d	fs2,fs2,ft11
	fadd.d	fs7,fs7,fa2
	fmul.d	fs8,fs8,ft11
	fsub.d	ft10,fa3,ft10
	fmul.d	ft2,ft6,ft9
	fsub.d	ft8,ft8,fa1
	fmul.d	ft11,fs4,ft11
	fmul.d	ft9,ft9,ft3
	fadd.d	fs1,fs1,fs7
	fmul.d	fs6,fs6,fs11
	fsub.d	ft10,ft10,fs3
	fmul.d	fs2,fs2,fs9
	fsub.d	ft2,fs10,ft2
	fmul.d	fs8,fs8,fs11
	fmul.d	ft11,ft11,fs9
	fadd.d	ft8,ft9,ft8
	fadd.d	fs2,fs2,fs6
	fadd.d	fs1,ft2,fs1
	fsub.d	ft11,fs8,ft11
	fadd.d	ft8,ft8,ft10
	fsub.d	fs1,fs1,fs2
	fsub.d	ft8,ft8,ft11
	fadd.d	fs0,fs0,fs1
	fadd.d	fa5,fs5,ft8
	ld	a5,-824(s0)
	fsd	fa5,0(a5)
	ld	a5,-816(s0)
	fsd	fs0,0(a5)
	j	.L1
.L2:
	bgt	t2,a7,.L4
	lui	a5,%hi(.LC11)
	fld	fa5,%lo(.LC11)(a5)
	ld	a5,-824(s0)
	fsd	fa5,0(a5)
	ld	a5,-816(s0)
	fsd	fa0,0(a5)
	j	.L1
.L4:
	beq	t3,a6,.L5
	xor	a1,t3,t2
	li	a5,1
	slli	a5,a5,52
	or	a2,a1,a5
	srli	a5,t3,52
	addi	t1,a5,-939
	srai	s1,t1,6
	andi	t2,t1,63
	li	a4,64
	sub	t3,a4,t2
	lui	a5,%hi(table_trig)
	addi	a4,a5,%lo(table_trig)
	slli	a5,s1,3
	add	a5,a4,a5
	ld	s2,0(a5)
	addi	a5,s1,1
	lui	a4,%hi(table_trig)
	addi	a4,a4,%lo(table_trig)
	slli	a5,a5,3
	add	a5,a4,a5
	ld	s3,0(a5)
	sd	s3,-64(s0)
	addi	a5,s1,2
	lui	a4,%hi(table_trig)
	addi	a4,a4,%lo(table_trig)
	slli	a5,a5,3
	add	a5,a4,a5
	ld	s4,0(a5)
	addi	s1,s1,3
	beq	t2,zero,.L6
	sext.w	a5,t2
	mv	a4,a5
	sll	s2,s2,a4
	sext.w	a5,t3
	mv	a4,a5
	srl	s5,s3,a4
	or	s2,s2,s5
	sext.w	a5,t2
	mv	a4,a5
	sll	s3,s3,a4
	sd	s3,-64(s0)
	sext.w	a5,t3
	mv	a4,a5
	srl	a5,s4,a4
	sd	a5,-208(s0)
	ld	a5,-208(s0)
	or	a5,s3,a5
	sd	a5,-64(s0)
.L6:
	li	a5,1
	slli	a5,a5,47
	sd	a5,-216(s0)
	sd	a2,-224(s0)
	ld	a5,-64(s0)
	sd	a5,-232(s0)
 
	mulhu a7, a5,a2
 
	mul	t5,s2,a2
	ld	a4,-64(s0)
	mul	a5,a4,a2
	sd	a5,-32(s0)
	add	t4,t5,a7
	slli	t6,t4,9
	srai	a5,t6,9
	sd	a5,-48(s0)
	sd	zero,-104(s0)
.L7:
	ld	a5,-216(s0)
	add	s6,t6,a5
	li	a5,65536
	addi	a5,a5,-1
	slli	a5,a5,48
	sd	a5,-272(s0)
	and	a5,s6,a5
	sd	a5,-264(s0)
	bne	a5,zero,.L8
	sd	s4,-72(s0)
	lui	a5,%hi(table_trig)
	addi	a4,a5,%lo(table_trig)
	slli	a5,s1,3
	add	a5,a4,a5
	ld	s4,0(a5)
	sext.w	a5,t2
	mv	a4,a5
	sll	s5,s4,a4
	addi	a5,s1,1
	sd	a5,-88(s0)
	sext.w	a5,t3
	mv	a4,a5
	srl	a5,s4,a4
	sd	a5,-208(s0)
	ld	a5,-208(s0)
	or	s5,s5,a5
	beq	t2,zero,.L9
	sd	s5,-72(s0)
.L9:
	sd	a2,-280(s0)
	ld	a5,-72(s0)
	sd	a5,-288(s0)
 
	mulhu a7, a5,a2
 
	ld	a4,-72(s0)
	mul	a1,a4,a2
	ld	a4,-32(s0)
	add	a2,a4,a7
	sltu	a5,a2,a7
	andi	a5,a5,0xff
	add	t6,t6,a5
.L8:
	srai	a5,a2,63
	sub	a5,t6,a5
	seqz	a5,a5
	andi	a5,a5,0xff
	beq	a5,zero,.L10
	sd	a2,-48(s0)
	ld	a5,-104(s0)
	addi	a5,a5,-64
	sd	a5,-104(s0)
	sd	a1,-32(s0)
	j	.L7
.L10:
	ld	a5,-48(s0)
	srai	a5,a5,63
	sd	a5,-328(s0)
	ld	a5,-104(s0)
	neg	a5,a5
	sd	a5,-96(s0)
	beq	a5,zero,.L11
	li	a5,63
	sd	a5,-96(s0)
.L11:
	srli	a2,a3,9
	ld	a4,-48(s0)
	ld	a5,-328(s0)
	xor	s5,a4,a5
	ld	a4,-48(s0)
	ld	a5,-96(s0)
	sext.w	a5,a5
	sra	s6,a4,a5
	li	a5,1
	sd	a5,-96(s0)
	sub	a5,s6,t4
	and	a5,a5,a2
	sd	a5,-208(s0)
	add	a5,t4,a5
	srai	a5,a5,47
	sd	a5,-24(s0)
	beq	s5,zero,.L12
	fcvt.d.l	fa5,s5
	fsd	fa5,-784(s0)
	addi	a5,s0,-784
	ld	a5,0(a5)
	sd	a5,-208(s0)
	and	a5,a5,a3
	srli	a5,a5,52
	sd	a5,-336(s0)
	addi	a5,a5,-1021
	sd	a5,-96(s0)
.L12:
	ld	a5,-96(s0)
	sext.w	a5,a5
	mv	a4,a5
	ld	a5,-32(s0)
	srl	s5,a5,a4
	li	a4,64
	ld	a5,-96(s0)
	sub	s8,a4,a5
	beq	s8,zero,.L13
	sext.w	a5,s8
	mv	a4,a5
	ld	a5,-32(s0)
	sll	a5,a5,a4
	sd	a5,-32(s0)
	ld	a5,-96(s0)
	sext.w	a5,a5
	mv	a4,a5
	srl	a5,a1,a4
	sd	a5,-208(s0)
	sext.w	a5,s8
	mv	a4,a5
	ld	a5,-48(s0)
	sll	a5,a5,a4
	sd	a5,-48(s0)
	ld	a4,-32(s0)
	ld	a5,-208(s0)
	or	a5,a4,a5
	sd	a5,-32(s0)
	ld	a4,-48(s0)
	or	a5,a4,s5
	sd	a5,-48(s0)
	ld	a4,-104(s0)
	sub	a5,a4,s8
	sd	a5,-104(s0)
.L13:
	ld	a5,-104(s0)
	addi	a5,a5,962
	sd	a5,-104(s0)
	ld	a5,-32(s0)
	bge	a5,zero,.L14
	slli	a2,a6,1
	srai	a2,a2,1
	ld	a4,-32(s0)
	and	a5,a4,a2
	sd	a5,-344(s0)
	ld	a4,-32(s0)
	ld	a5,-344(s0)
	xor	a5,a4,a5
	sd	a5,-352(s0)
	ld	a5,-344(s0)
	fcvt.d.l	fa5,a5
	fsd	fa5,-784(s0)
	ld	a5,-352(s0)
	fcvt.d.l	fa5,a5
	fsd	fa5,-360(s0)
	lui	a5,%hi(.LC12)
	fld	fa4,%lo(.LC12)(a5)
	fld	fa5,-784(s0)
	fadd.d	fa5,fa4,fa5
	fsd	fa5,-784(s0)
	fld	fa4,-784(s0)
	fld	fa5,-360(s0)
	fadd.d	fa5,fa4,fa5
	fsd	fa5,-784(s0)
	j	.L15
.L14:
	ld	a5,-32(s0)
	fcvt.d.l	fa5,a5
	fsd	fa5,-784(s0)
.L15:
	ld	a5,-104(s0)
	slli	a5,a5,52
	sd	a5,-768(s0)
	li	a5,-1
	srli	a5,a5,27
	sd	a5,-208(s0)
	ld	a4,-48(s0)
	ld	a5,-208(s0)
	and	a5,a4,a5
	sd	a5,-368(s0)
	ld	a4,-48(s0)
	ld	a5,-368(s0)
	xor	a5,a4,a5
	sd	a5,-376(s0)
	ld	a5,-368(s0)
	fcvt.d.l	fa2,a5
	ld	a5,-376(s0)
	fcvt.d.l	fa3,a5
	lui	a5,%hi(.LC13)
	fld	fa4,%lo(.LC13)(a5)
	fld	fa5,-784(s0)
	fmul.d	fa6,fa4,fa5
	addi	a5,s0,-768
	fld	fa7,0(a5)
	lui	a5,%hi(.LC14)
	fld	fa5,%lo(.LC14)(a5)
	fmul.d	ft1,fa7,fa5
	lui	a5,%hi(.LC15)
	fld	fa5,%lo(.LC15)(a5)
	fmul.d	ft2,fa7,fa5
	li	a5,1
	sd	a5,-768(s0)
	ld	a5,-768(s0)
	slli	a5,a5,17
	sd	a5,-768(s0)
	ld	a5,-768(s0)
	addi	a5,a5,-1
	sd	a5,-768(s0)
	fadd.d	fa1,fa6,fa2
	fadd.d	fa5,ft1,ft2
	fmul.d	fa1,fa1,fa5
	fmul.d	ft1,ft1,fa3
	fmul.d	ft2,ft2,fa3
	fadd.d	fa1,fa1,ft2
	fadd.d	ft3,ft1,fa1
	fsd	ft3,-112(s0)
	fsub.d	fa5,ft3,ft1
	fsub.d	ft4,fa5,fa1
	fsd	ft4,-120(s0)
	fld	fa5,-808(s0)
	fmv.d.x	fa4,zero
	flt.d	a5,fa5,fa4
	beq	a5,zero,.L16
	ld	a4,-768(s0)
	ld	a5,-24(s0)
	sub	a5,a4,a5
	sd	a5,-24(s0)
	fneg.d	ft3,ft3
	fsd	ft3,-112(s0)
	fneg.d	fa5,ft4
	fsd	fa5,-120(s0)
.L16:
	ld	a5,-24(s0)
	addi	a5,a5,128
	sd	a5,-24(s0)
	ld	a5,-24(s0)
	srai	a5,a5,8
	sd	a5,-24(s0)
	ld	a5,-24(s0)
	andi	a5,a5,127
	sd	a5,-424(s0)
	li	a4,128
	ld	a5,-424(s0)
	sub	a5,a4,a5
	sd	a5,-432(s0)
	ld	a5,-24(s0)
	srli	a5,a5,7
	sd	a5,-24(s0)
	ld	a5,-24(s0)
	andi	a5,a5,3
	sd	a5,-440(s0)
	ld	a5,-24(s0)
	andi	a5,a5,1
	sd	a5,-448(s0)
	ld	a5,-424(s0)
	sd	a5,-760(s0)
	ld	a5,-432(s0)
	sd	a5,-752(s0)
	ld	a5,-432(s0)
	sd	a5,-744(s0)
	ld	a5,-424(s0)
	sd	a5,-736(s0)
	ld	a5,-448(s0)
	slli	a5,a5,4
	addi	a4,s0,-16
	add	a5,a4,a5
	ld	a5,-744(a5)
	sd	a5,-424(s0)
	ld	a5,-448(s0)
	slli	a5,a5,4
	addi	a4,s0,-16
	add	a5,a4,a5
	ld	a5,-736(a5)
	sd	a5,-432(s0)
	lui	a5,%hi(sign)
	addi	a4,a5,%lo(sign)
	ld	a5,-440(s0)
	slli	a5,a5,3
	add	a5,a4,a5
	fld	fa2,0(a5)
	ld	a5,-440(s0)
	addi	a5,a5,1
	lui	a4,%hi(sign)
	addi	a4,a4,%lo(sign)
	slli	a5,a5,3
	add	a5,a4,a5
	fld	fa3,0(a5)
	lui	a5,%hi(table_data_sin1)
	addi	a4,a5,%lo(table_data_sin1)
	ld	a5,-424(s0)
	slli	a5,a5,3
	add	a5,a4,a5
	fld	fa5,0(a5)
	fmul.d	fa6,fa2,fa5
	lui	a5,%hi(table_data_sin2)
	addi	a4,a5,%lo(table_data_sin2)
	ld	a5,-424(s0)
	slli	a5,a5,3
	add	a5,a4,a5
	fld	fa5,0(a5)
	fmul.d	ft1,fa2,fa5
	lui	a5,%hi(table_data_sin3)
	addi	a4,a5,%lo(table_data_sin3)
	ld	a5,-424(s0)
	slli	a5,a5,3
	add	a5,a4,a5
	fld	fa5,0(a5)
	fmul.d	ft2,fa2,fa5
	lui	a5,%hi(table_data_sin1)
	addi	a4,a5,%lo(table_data_sin1)
	ld	a5,-432(s0)
	slli	a5,a5,3
	add	a5,a4,a5
	fld	fa5,0(a5)
	fmul.d	ft3,fa3,fa5
	lui	a5,%hi(table_data_sin2)
	addi	a4,a5,%lo(table_data_sin2)
	ld	a5,-432(s0)
	slli	a5,a5,3
	add	a5,a4,a5
	fld	fa5,0(a5)
	fmul.d	ft4,fa3,fa5
	lui	a5,%hi(table_data_sin3)
	addi	a4,a5,%lo(table_data_sin3)
	ld	a5,-432(s0)
	slli	a5,a5,3
	add	a5,a4,a5
	fld	fa5,0(a5)
	fmul.d	ft5,fa3,fa5
	fld	fa4,-112(s0)
	lui	a5,%hi(.LC16)
	fld	fa5,%lo(.LC16)(a5)
	fmul.d	ft6,fa4,fa5
	fld	fa4,-112(s0)
	lui	a5,%hi(.LC17)
	fld	fa5,%lo(.LC17)(a5)
	fmul.d	fa5,fa4,fa5
	fsub.d	ft6,ft6,fa5
	fld	fa5,-112(s0)
	fsub.d	ft8,ft6,fa5
	fld	fa5,-112(s0)
	fmul.d	ft7,fa5,fa5
	fmul.d	fa1,ft6,ft3
	fmul.d	fa7,ft6,fa6
	fsub.d	ft9,ft3,ft4
	lui	a5,%hi(.LC7)
	fld	fa5,%lo(.LC7)(a5)
	fmul.d	ft10,ft3,fa5
	fsub.d	ft11,fa6,ft1
	lui	a5,%hi(.LC7)
	fld	fa5,%lo(.LC7)(a5)
	fmul.d	fs1,fa6,fa5
	fadd.d	fa1,fa1,fa6
	fsub.d	fa7,ft3,fa7
	lui	a5,%hi(.LC8)
	fld	fa5,%lo(.LC8)(a5)
	fmul.d	fs2,fa6,fa5
	fld	fa5,-112(s0)
	fmul.d	ft10,ft10,fa5
	fsub.d	fs3,fa6,fa1
	fmul.d	ft9,ft9,ft6
	fld	fa5,-120(s0)
	fadd.d	ft8,ft8,fa5
	fmul.d	ft11,ft11,ft6
	fsub.d	fs4,ft3,fa7
	lui	a5,%hi(.LC8)
	fld	fa5,%lo(.LC8)(a5)
	fmul.d	fs5,ft3,fa5
	lui	a5,%hi(.LC9)
	fld	fa5,%lo(.LC9)(a5)
	fadd.d	fs6,ft7,fa5
	fld	fa4,-112(s0)
	fmul.d	fs7,fa4,ft5
	lui	a5,%hi(.LC10)
	fld	fa5,%lo(.LC10)(a5)
	fadd.d	fs8,ft7,fa5
	fld	fa5,-112(s0)
	fmul.d	fs1,fs1,fa5
	fmul.d	ft4,ft6,ft4
	fmul.d	ft6,ft6,ft1
	fld	fa4,-112(s0)
	fmul.d	fs9,fa4,ft2
	fadd.d	fs7,fs7,ft2
	fmul.d	fs2,fs2,ft7
	fmul.d	ft10,ft10,ft7
	fadd.d	ft4,fs3,ft4
	fmul.d	fs3,fs5,ft7
	fsub.d	ft6,fs4,ft6
	fmul.d	fs4,ft3,ft8
	fsub.d	ft5,ft5,fs9
	fmul.d	fs1,fs1,ft7
	fmul.d	ft8,ft8,fa6
	fadd.d	ft4,ft9,ft4
	fmul.d	fs2,fs2,fs8
	fsub.d	ft6,ft6,ft11
	fmul.d	ft10,ft10,fs6
	fsub.d	ft11,fs7,fs4
	fmul.d	fs3,fs3,fs8
	fmul.d	fs1,fs1,fs6
	fadd.d	ft5,ft8,ft5
	fadd.d	ft10,ft10,fs2
	fadd.d	ft4,ft11,ft4
	fsub.d	fs1,fs3,fs1
	fadd.d	ft5,ft5,ft6
	fsub.d	ft4,ft4,ft10
	fsub.d	ft5,ft5,fs1
	fadd.d	fa5,fa1,ft4
	fsd	fa5,-792(s0)
	fadd.d	fa5,fa7,ft5
	ld	a5,-824(s0)
	fsd	fa5,0(a5)
	fld	fa5,-792(s0)
	ld	a5,-816(s0)
	fsd	fa5,0(a5)
	j	.L1
.L5:
	ld	a5,-24(s0)
	beq	t1,a5,.L18
	fld	fa5,-808(s0)
	fsd	fa5,-800(s0)
	fld	fa5,-808(s0)
	fsd	fa5,-792(s0)
	fld	fa5,-800(s0)
	ld	a5,-824(s0)
	fsd	fa5,0(a5)
	fld	fa5,-792(s0)
	ld	a5,-816(s0)
	fsd	fa5,0(a5)
	j	.L1
.L18:
	fld	fa5,-800(s0)
	ld	a5,-824(s0)
	fsd	fa5,0(a5)
	fld	fa5,-792(s0)
	ld	a5,-816(s0)
	fsd	fa5,0(a5)
	nop
.L1:
	ld	s0,824(sp)
	addi	sp,sp,832
	jr	ra
	.size	_rv_sincos, .-_rv_sincos
	.section	.rodata
	.align	3
.LC1:
	.word	1841940611
	.word	1071931184
	.align	3
.LC2:
	.word	0
	.word	1120403456
	.align	3
.LC3:
	.word	1413480448
	.word	1073291771
	.align	3
.LC4:
	.word	444596224
	.word	1037087841
	.align	3
.LC5:
	.word	-1170238990
	.word	-1143104306
	.align	3
.LC6:
	.word	442655537
	.word	1037087841
	.align	3
.LC7:
	.word	940521467
	.word	-1082060526
	.align	3
.LC8:
	.word	136430432
	.word	-1079683757
	.align	3
.LC9:
	.word	-1504803646
	.word	-1070333954
	.align	3
.LC10:
	.word	-1764088258
	.word	-1071120382
	.align	3
.LC11:
	.word	0
	.word	1072693248
	.align	3
.LC12:
	.word	0
	.word	1139802112
	.align	3
.LC13:
	.word	0
	.word	1005584384
	.align	3
.LC14:
	.word	1476395008
	.word	1072243195
	.align	3
.LC15:
	.word	1036729146
	.word	-1103241577
	.align	3
.LC16:
	.word	0
	.word	1084228096
	.align	3
.LC17:
	.word	0
	.word	1084227584
	.ident	"GCC: (GNU) 10.1.0"
